/* (PARI-GP) R. J. Cano, May 11 2014 
 *
 * (Acknowledgment to Charles Greathouse IV)
 *
 * Title: "Failsafe identities testing convention" Version 2.0
 *
 * Description: Use always assignments like either
 * 
 --------------------------------------
 ? t0=vector(s,j,f11(j));
 --------------------------------------
 *
 * And try to ensure you always keep recorded a pair
 * "original definition" vs "modification"
 * where modification can be just a "clean slate"...
 *
 * Essentially a "clean slate" means that you are able
 * to replace definitions leaving the right-hand side
 * free of calls to another user-defined routines. If
 * it were impossible to be so explicit, at least keep
 * in mind the initially proposed application of the
 * "divide and conquer" strategy.
 *
 * About the notation, it is the "f" standing for "function",
 * even numbers for the "originals" and odd numbers for the
 * modifications. So simple.
 *
 * For instance:
 *   Here f01() is a factorisation for f00();
 *   Also f07() is a "clean slate" for f06();
 *
 * The main purpose of this dumb sort of re-defs succession
 * is to serve as an aid when looking for optimization or
 * keeping a log of our thoughts when analyzing sequences.
 * 
 * Below a brief example illustrating this.
 *
*/

s=    25; /* Default size for a small sample vector. */
S= 10000; /* Default size for a large sample vector, a.k.a "b-file" */

f00(n)=10^n-2^n;
f01(n)=(2^n)*(5^n-1);
f02(n)=f01(n+1)-f01(n);
f03(n)=(2^n)*(9*5^n-1);
f04(n)=f03(n)/(2^n)
f05(n)=(9*5^n-1);
f06(n)=f05(n)/4;
f07(n)=(9*5^n-1)/4;
f08(n)=f07(n)-1;
f09(n)=(9*5^n-1)/4-1;
f10(n)=f09(n)/(5*(2^(n%2)));
f11(n)=((9*5^n-1)/4-1)/(5*(2^(n%2)));
f12(n)=f11(2*n-1);
f13(n)=f12(n);
f14(n)=f13(n+1)-f13(n);
f15(n)=f14(n);
f16(n)=f15(n)/(25^(n-1));
f17(n)=f16(n);
f18(n)=f17(n)/27;
f19(n)=f18(n);
/* Redefinition
f17(n)=27;
*/

/*The End*/